$(document).ready(function(){
	
	//transforma o formulário em um wizard
	var wizardObj = wizardUpdate($("form").attr("id"),"cursoes",false);
	
	//criando os editores de texto
    $('textarea').wysiwyg();
	
	//define as colunas do um para muitos
	//Perfis desejados
	var perfisDesejadosAoColumns = [
                                        	{"sTitle": "Id", "mDataProp": "id", "bVisible": false, "sDefaultContent":""},
											{"sTitle": "Perfis", "mDataProp": "descricao", "sWidth": "150px", "bVisible": true, "sDefaultContent":""}
										];
	oneToMany("dataGridPerfisDesejados", JSON.stringify(perfisDesejadosAoColumns));
	$("#adicionarPerfisDesejadosBtn").button({icons: {primary: "ui-icon-plusthick"}, text: false}).click(
	function(){
		adicionarDoComboParaDatagrid("perfisDesejados", "dataGridPerfisDesejados");
		return false;
	});
	//Público alvo
	var publicoAlvoCursosAoColumns = [
                                        	{"sTitle": "Id", "mDataProp": "id", "bVisible": false, "sDefaultContent":""},
                                        	{"sTitle": "Ramo da SSP", "mDataProp": "ramoSegurancaPublica.nome", "sWidth": "100px", "bVisible": true, "sDefaultContent":""},
											{"sTitle": "Público", "mDataProp": "nome", "sWidth": "150px", "bVisible": true, "sDefaultContent":""}
										];
	oneToMany("dataGridPublicoAlvoCursos", JSON.stringify(publicoAlvoCursosAoColumns));
	$("#adicionarPublicoAlvoCursosBtn").button({icons: {primary: "ui-icon-plusthick"}, text: false}).click(
	function(){
		adicionarDoComboParaDatagrid("publicoAlvoCursos", "dataGridPublicoAlvoCursos");
		return false;
	});
	//Técnicas
	var tecnicasAoColumns = [
                                        	{"sTitle": "Dimensões do conhecimento", "mDataProp": "dimensoesConhecimento", "sWidth": "100px", "bVisible": true, "sDefaultContent":""},
											{"sTitle": "Descricao", "mDataProp": "descricao", "sWidth": "150px", "bVisible": true, "sDefaultContent":""}
										];
	oneToMany("dataGridTecnicas", JSON.stringify(tecnicasAoColumns));
	$("#adicionarTecnicasBtn").button({icons: {primary: "ui-icon-plusthick"}, text: false}).click(
	function(){
		adicionarDoFormParaDatagrid("tecnicas", "dataGridTecnicas");
		return false;
	});
	//Disciplinas
	var disciplinasAoColumns = [
                                        	{"sTitle": "Id", "mDataProp": "id", "bVisible": false, "sDefaultContent":""},
                                        	{"sTitle": "Disciplina", "mDataProp": "nome", "bVisible": true, "sDefaultContent":""}
										];
	oneToMany("dataGridDisciplina", JSON.stringify(disciplinasAoColumns));
	$("#adicionarDisciplinaBtn").button({icons: {primary: "ui-icon-plusthick"}, text: false}).click(
	function(){
		adicionarDoComboParaDatagrid("disciplina", "dataGridDisciplina");
		return false;
	});
	
});

function popular(){
    registro = $("#"+$("form").attr("id")).formParams(false);
	
	$("select").each(function(){
		try{ 
			eval("registro."+$(this).attr("id")+" = findDataId(registro."+$(this).attr("id")+".id, $(\"#"+$(this).attr("id")+"\").get(0).dataSource);");
		}catch(e){}
	});

	if($("#deletado").val() == "true"){
		registro.deletado = true;
	}else{
		registro.deletado = false;
	}
	
	//criar a data de inserção
	if(registro.id == null){
		var dia = new Date();
		registro.dataCadastro = dia.getDate()+"/"+dia.getMonth()+"/"+dia.getFullYear();
	}
	
	if($("#estrategiaConceitual").is(':checked')) registro.estrategiaConceitual = true; else registro.estrategiaConceitual = false; 
	if($("#estrategiaProcedimental").is(':checked')) registro.estrategiaProcedimental = true; else registro.estrategiaProcedimental = false;
	if($("#estrategiaAtitudinal").is(':checked')) registro.estrategiaAtitudinal = true; else registro.estrategiaAtitudinal = false;

	//oneToMany
	delete registro.disciplina;
	registro.disciplina = serializarDataGrid("dataGridDisciplina");	
    
	delete registro.publicoAlvoCursos;
	registro.publicoAlvoCursos = serializarDataGrid("dataGridPublicoAlvoCursos");

	delete registro.perfisDesejados;
	registro.perfisDesejados = serializarDataGrid("dataGridPerfisDesejados");
	
	delete registro.tecnicas;
	registro.tecnicas = serializarDataGrid("dataGridTecnicas");
	
	return registro;
}

function preencherFormulario(data){
			//oneToMany
			var perfisDesejados = data.perfisDesejados;
			delete data.perfisDesejados;
			var publicoAlvoCursos = data.publicoAlvoCursos;
			delete data.publicoAlvoCursos;
			var tecnicas = data.tecnicas;
			delete data.tecnicas;
			var disciplina = data.disciplina;

			//combobox
			loadToComboBox("#ramoSegurancaPublica",ramoSegurancaPublicaDataSource,"nome");
			$("#ramoSegurancaPublica").change(function(event){ loadToSubcombo(event,'#publicoAlvoCursos','graduacaocargoes/combo/nome?class=br.com.educa.modelo.publico.GraduacaoCargo&methodName=findGraduacaoCargoesByRamoSegurancaPublica&ramoSegurancaPublica=','nome'); }); 
			loadToComboBoxUrl("#perfisDesejados","perfildesejadoes/combo/descricao?class=br.com.educa.modelo.curso.PerfilDesejado","descricao");
			loadToComboBoxCallBack("#formularioSolicitacao","solicitacaocapacitacaos/combo/id?class=br.com.educa.modelo.curso.SolicitacaoCapacitacao&methodName=findSolicitacaoCapacitacaosByStatus&status=Aberto",'id',function(){$("#formularioSolicitacao").val(data.formularioSolicitacao.id);});
			loadToComboBoxUrl("#disciplina","disciplinas/combo/nome?class=br.com.educa.modelo.curso.Disciplina&methodName=findDisciplinasByDeletadoNot&deletado=true","nome");
			$("#"+$("form").attr("id")).populate( data,{resetForm:true});
			
			//dataGrid
			$("#dataGridPerfisDesejados").dataTable().fnAddData(perfisDesejados);
			$("#dataGridPublicoAlvoCursos").dataTable().fnAddData(publicoAlvoCursos);
			$("#dataGridTecnicas").dataTable().fnAddData(tecnicas);
			$("#dataGridDisciplina").dataTable().fnAddData(disciplina);
			
			//textareas wysing
			$('#objetivoMeta').wysiwyg('setValue', data.objetivoMeta);
			$('#objetivoDestino').wysiwyg('setValue', data.objetivoDestino);
			$('#objetivoFormas').wysiwyg('setValue', data.objetivoFormas);
			$('#objetivoContexto').wysiwyg('setValue', data.objetivoContexto);
			$('#justificativaRelevancia').wysiwyg('setValue', data.justificativaRelevancia);
			$('#justificativaRazoes').wysiwyg('setValue', data.justificativaRazoes);
			$('#justificativaParcerias').wysiwyg('setValue', data.justificativaParcerias);
			$('#justificativaMcn').wysiwyg('setValue', data.justificativaMcn);
			$('#habilidadeDesenvolvida').wysiwyg('setValue', data.habilidadeDesenvolvida);
			$('#estrategiaEnsino').wysiwyg('setValue', data.estrategiaEnsino);
			
			//checkbox
			if(data.estrategiaConceitual) $("#estrategiaConceitual").attr('checked', true); else $("#estrategiaConceitual").attr('checked', false); 
			if(data.estrategiaProcedimental) $("#estrategiaProcedimental").attr('checked', true); else $("#estrategiaProcedimental").attr('checked', false); 
			if(data.estrategiaAtitudinal) $("#estrategiaAtitudinal").attr('checked', true); else $("#estrategiaAtitudinal").attr('checked', false); 


}